Scala2.10で統合され(る用意が出来)たAkkaのActorを使う
概要
Akka 2.1.0系のActorが、Scala2.10.0に統合された。
scala 2.10.0を落としてくると、
(下記はhomebrewで入れたCellerのなかみ)
こんな感じに
akka-actors.jar と scala-actors.jar が同居しているところが見れる。
公式の方だと、Migration Guide とかもあるけど、
http://docs.scala-lang.org/overviews/core/actors-migration-guide.html
正直、以前のActorにつきっきりで無かったのなら、Migrateにつきあう必要は無さそう。
Gradleでの設定
「CIできないコードは糞だ! 手離れよくなるようにまず回転を作り出せ糞共!!」「サーイエッサー!!」
早速GradleでCIできるようにセットアップ。
が、
MavenCentralに、akka-actors.jar が、まだ無い。
http://search.maven.org/#search%7Cga%7C1%7Corg.scala-lang
、、akka-actors.jar が無い。
org.scala-lang 以外でpublishされてるのかな。
ほかのものは大体あるんだけどなー。
代わりに(いつも通り)、Akka actorの2.1.0 for Scala 2.10.0 を見つけてきて対処。
http://search.maven.org/#search%7Cga%7C1%7Cg%3A%22com.typesafe.akka%22
から、
akka-actor_2.10-2.1.0.jar
を取得。
差分
Acala 2.10.0に含まれる akka-actors.jar と Akka が現在配布している akka-actor_2.10-2.1.0.jar の差分は、
無い。
build.gradle
とりあえず、最新のAkka-actorを使うコードについてのbuild.gradle は、下記みたいな感じ。
sbtでも同様。
build.gradle
apply plugin:"scala"
repositories {
mavenCentral()
}
dependencies {
scalaTools (
[group: "org.scala-lang", name: "scala-compiler",version: "2.10.0"],
[group: "org.scala-lang", name: "scala-library",version: "2.10.0"],
)
compile (
[group: "org.scala-lang", name: "scala-library",version: "2.10.0"],
// [group: "org.scala-lang", name: "akka-actors",version: "2.10.0"],not yet applied. 01/13/13 22:27:38
[group: "com.typesafe.akka", name: "akka-actor_2.10",version: "2.1.0"],
// [group: "com.typesafe.akka", name: "akka-kernel",version: "2.1.0"],
// [group: "com.typesafe.akka", name: "akka-remote",version: "2.1.0"],
)
}
まー根本的に、CIサーバにScala入れてあるんだからそこから akka-actors.jar 使えよって話なんですけど、
できることなら、Centralから落として、CIの環境に依存しないようにしたいなっていう。
Centralには依存しまくりなんだけど。
定期的にgradle内のlibをfrozenな感じにして保存しておけばOKかなと。